草庐IT

c++ - 字符串到 LPCTSTR

全部标签

Javascript/jQuery XSS 潜在读取查询字符串

我的javascript从查询字符串中读取数据,并使用jQuery.val()将该数据放入文本框中。这工作正常,但我想知道这是否可以免受XSS攻击?假设查询字符串看起来像...site.com?q="javascript:alert(document.cookie)这会有效地做到:jQuery.val('"javascript:alert(document.cookie)')根据我在IE8/firefox中的测试,这会设置所见的输入值,但不会进行实际注入(inject)。如果我先在字符串上运行这个函数:functionhtmlEncode(str){returnstr.replace(

javascript - 它将字符串放在一起而不是添加它们 Javascript

varx=e.pageX;varmyX=$(this).html();vardifference=myX-x;varex=myX+difference;一切正常,直到最后一行。它不做加法,而是将变量放在一个字符串中。如果myX为10且差值为20,则当我希望它为30时它将为1020。我该如何解决? 最佳答案 您可以使用类似这样的方法强制变量为整数:varex=parseInt(myX,10)+parseInt(difference,10);发生这种情况是因为您的变量被视为字符串,并且在字符串上使用+运算符连接然后在一起而不是添加它们的

javascript - 如何从 Javascript 中的字符串中删除/替换 ANSI 颜色代码

我找不到下面函数的问题。第一个参数是包含ANSI的字符串颜色代码,第二个参数是bool值。如果bool值设置为false,则会对字符串进行完全删除。如果bool值设置为true,循环会将每个颜色代码转换为更容易解析的内容。我怀疑RegExp是问题所在,因为它出于某种原因混淆了1;33和0;31。varcolorReplace=function(input,replace){varreplaceColors={"0;31":"{r","1;31":"{R","0;32":"{g","1;32":"{G","0;33":"{y","1;33":"{Y","0;34":"{b","1;34"

Javascript Regex-用相同数量的另一个字符替换字符序列

我正在尝试用JavaScript中相同数量的虚拟字符替换字符串的一部分,例如:'==Hello=='为'==~~~~~=='。已使用Perl回答了这个问题和PHP,但我无法让它在JavaScript中运行。我一直在尝试这个:txt=txt.replace(/(==)([^=]+)(==)/g,"$1"+Array("$2".length+1).join('~')+"$3");模式匹配工作正常,但替换没有-第二部分添加'~~'而不是模式匹配的长度。将“$2”放在括号内是行不通的。我该怎么做才能让它插入正确数量的字符? 最佳答案 改为使

Javascript - 转换颜色(数字 ->字符串)反之亦然

utils.parseColor=function(color,toNumber){if(toNumber===true){if(typeofcolor==='number'){return(color|0);//chopoffdecimal}if(typeofcolor==='string'&&color[0]==='#'){color=color.slice(1);}returnwindow.parseInt(color,16);}else{if(typeofcolor==='number'){//makesureourhexadecimalnumberispaddedoutcol

javascript - eval 和 setTimeout 执行字符串代码的区别

我知道eval和setTimeout都可以接受字符串作为(1st)参数,而且我知道我最好不要使用它。我只是好奇为什么会有区别:!function(){varfoo=123;eval("alert(foo)");}();!function(){varfoo=123;setTimeout("alert(foo)",0);}();第一个可以,第二个会报错:fooisnotdefined他们是如何在幕后执行的? 最佳答案 参见referenceofsetTimeoutonMDN.Stringliteralsareevaluatedinthe

javascript - 从字符串中删除非拉丁字符

我正在尝试使用Javascript从字符串中删除非拉丁字符。我正在使用以下代码:text.replace(/[\u0250-\ue007f]/g,'')我最初认为它工作正常,直到我发现它还从字符串中删除了“f”字符。有什么建议吗? 最佳答案 试试这个:-text.replace(/[\u0250-\ue007]/g,''); 关于javascript-从字符串中删除非拉丁字符,我们在StackOverflow上找到一个类似的问题: https://stacko

javascript - 由 JavaScript 中的一个字符拆分,但不是连续的字符

情况是这样的:varstringExample="hello=goodbye==hello";varparts=stringExample.split("=");输出:hello,goodbye,,hello我需要这个输出:hello,goodbye==hello必须忽略连续/重复的字符,直接取单个"="拆分即可。也许一些正则表达式? 最佳答案 您可以使用正则表达式:varparts=stringExample.split(/\b=\b/);\b检查单词边界。 关于javascript-

javascript - 在具有良好分布的两个整数之间散列字符串(均匀散列)

我正在尝试对介于0和非常低的n之间的一些字符串进行哈希处理,以便为每个用户提供一种颜色。这是我的(工作)代码:functionnameToColor(name){varcolors=['red','blue','green','purple','orange','darkred','darkblue','darkgreen','cadetblue','darkpurple'];varhash=hashStr(name);varindex=hash%colors.length;returncolors[index];}//djb2hashfunctionhashStr(str){varh

javascript - jQuery 获取以字符串 "whatever-"开头的元素类名的其余部分

我有js缓存名称以“whatever-”开头的类,$('[class^="whatever-"],[class*="whatever-"]')但我现在想做的是得到名字的其余部分,例如在“whatever-9”的情况下我想得到“9”,我不知道该怎么做,你能帮我吗? 最佳答案 试试这个varcheck="whatever-";         $('[class^="whatever-"],[class*="whatever-"]').each(function(){    //Getarrayofclassnames   varcls